﻿using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using zdzh.zdmgr.BLL;
using zdzh.zdmgr.COL;
using zdzh.zdmgr.SFL;

namespace zdzh.zdmgr.UIL.huiqianhup
{
    /// <summary>
    /// 对象名称：“回迁户模块”添加信息页面（用户界面层）
    /// 对象说明：该页面用于向数据库中添加“回迁户”对象，操作完成后返回列表页面。
    /// 作者姓名：飞翔熊
    /// 编写日期：2012/12/3 13:23:16
    /// </summary>
    public partial class Create : System.Web.UI.Page
    {
        private Huiqianhu huiqianhu;
        List<Fangyuan> fangyuan;

        /// <summary>
        /// “回迁户模块”添加信息页面载入时的事件处理方法。
        /// </summary>
        protected void Page_Load(object sender, EventArgs e)
        {
            huiqianhu = new Huiqianhu();
            string xieyihao = Request.QueryString["Xieyihao"];
            huiqianhu.Xieyihao = DataValid.GetNullOrInt(xieyihao);
            if (huiqianhu.Xieyihao != null)
            {
                fangyuan = FangyuanBLL.GetDataByXieyiIndex(huiqianhu.Xieyihao.Value);
                if (fangyuan == null)
                    throw new CustomException("无效订单号");

                TxtXieyihao.Enabled = false;
            }

            if (!Page.IsPostBack)
            {
                BindObjectToForm();  // 将关联对象默认值，绑定至界面控件进行显示。
            }
        }

        /// <summary>
        /// 用户单击“保存”按钮时的事件处理方法。
        /// </summary>
        protected void BtnSave_Click(object sender, EventArgs e)
        {
            BindFormlToObject();
            int index=HuiqianhuBLL.Insert(huiqianhu);
            foreach (Fangyuan model in fangyuan)
                FangyuanBLL.CreateXieyiRelation(model.Index, index);
            if (huiqianhu.Xieyihao==null)
            {
                Main.SysMessage.ShowSuccessMsg("“回迁户”添加成功，单击“确定”返回信息列表。",
                    "Default.aspx?RepGrid_Page=" + Int32.MaxValue.ToString()); // 添加完成后，返回列表中的最后一页。
            }
            else if (huiqianhu.Xieyihao < 10000)
            {
                Main.SysMessage.ShowSuccessMsg("“回迁户”添加成功，单击“确定”返回信息列表。",
                    "../huiqianxieyip/Detail.aspx?Index=" + huiqianhu.Xieyihao.ToString()); // 添加完成后，返回列表中的最后一页。
            }
            else
            {
                Dingdan dan = DingdanBLL.GetDataByIndex(huiqianhu.Xieyihao.Value);
                Main.SysMessage.ShowSuccessMsg("“产权人”添加成功，单击“确定”返回信息列表。",
                    "../fangyuanp/Detail.aspx?Index=" + dan.FangyuanIndex.ToString()); // 添加完成后，返回列表中的最后一页。
            }
        }

        #region 界面控件与关联对象之间的绑定方法

        /// <summary>
        /// 将界面控件中的值，绑定给关联对象。
        /// </summary>
        private void BindFormlToObject()
        {
            if (!DataValid.IsNullOrInt(TxtXieyihao.Text))
                throw new CustomException("“协议号”不是一个有效的整数，请您重新输入。");

            huiqianhu.Xieyihao = DataValid.GetNullOrInt(TxtXieyihao.Text);  // 协议号
            huiqianhu.Xingming = DataValid.GetNullOrString(TxtXingming.Text);  // 姓名
            huiqianhu.IDNumber = DataValid.GetNullOrString(TxtIDNumber.Text);
            huiqianhu.Beizhu = DataValid.GetNullOrString(TxtBeizhu.Text);
        }

        /// <summary>
        /// 将关联对象中的值，绑定至界面控件进行显示。
        /// </summary>
        private void BindObjectToForm()
        {
            TxtXieyihao.Text = huiqianhu.Xieyihao.ToString();  // 协议号
            TxtXingming.Text = huiqianhu.Xingming;  // 姓名
            TxtIDNumber.Text = huiqianhu.IDNumber;
            TxtBeizhu.Text = huiqianhu.Beizhu;
        }

        #endregion 界面控件与关联对象之间的绑定方法



    }
}
